A number of techniques are known for marking objects, e.g., linear barcodes and matrix codes such as a QR code. Most conventional marking schemes use unique and discrete number of observable symbols to encode information. For example, an information bit “0” is represented by a black patch, and an information “1” is represented by a white patch. Sometimes, a symbol can represent multiple bits of information, such as done for an optical orthogonal code, see U.S. application Ser. No. 12/640,949. Marks can also be used on road surfaces, see U.S. application Ser. No. 12/495,419.
Some marks have the property that enables sensors with different resolutions to decode different amount of information, e.g., DataGlyphs in U.S. Pat. No. 5,245,165, and MiniCode in U.S. Pat. Nos. 5,153,418, 5,189,292, and 5,223,701. However, the sensors for those codes need multiple observations of the same discrete symbol, where each symbol contains at most 4.39 bits of information as in the MiniCode.
It is unclear if such a methodology can be generalized to include more information bits per symbol, while ensuring good decoding performance of different hierarchy of information using different sensor equipment. Furthermore, the prior arts visible codes cannot deal with motion blur that result when the sensor moves at high speed relatively to the mark, or when the sensor is at a large distance from the marks. Low resolution of the mark can also be a problem for the sensor.
In a completely unrelated field, cellular networks often use orthogonal frequency division multiplexing (OFDM) to encode data for transmission. OFDM is relatively easy to implement and can reduce the cost of frequency domain equalization. This makes OFDM advantageous over many competing technologies. OFDM coding in for optical carriers is also known, see U.S. Pat. No. 7,796,898.